package com.itheima.mapper;

import com.github.pagehelper.Page;
import com.itheima.domain.CheckGroup;

import java.util.List;
import java.util.Map;

/**
 * @PackageName: com.itheima.mapper
 * @ClassName: CheckGroupMapper
 * @Author: Solomon
 * @Date: 2020/7/1 16:21
 * @Description:
 */
public interface CheckGroupMapper {

    //条件查询检查组
    Page<CheckGroup> findByCondition(String queryString);

    //添加检查组的基本信息
    void add(CheckGroup checkGroup);

    //中间表中设置检查组和检查项的关联关系
    void setCheckItemAndCheckGroup(List<Map<String, Integer>> list);

    //根据检查组id删除相关联的检查项的信息
    void deleteCheckItemsByCheckGroupId(Integer checkGroupId);

    //删除检查组之前先查询当前检查组是否关联的检查套餐
    int findSetmealByCheckgroupIds(Integer checkGroupId);

    //删除检查组的基本信息
    void delete(Integer checkGroupId);

    //根据id查询检查组的基本信息
    CheckGroup findById(Integer checkGroupId);

    //在中间表中查询与当前检查组关联的检查项的id数组
    List<Integer> findCheckItemIdsByCheckGroupId(Integer checkGroupId);

    //修改检查组的基本信息
    void update(CheckGroup checkGroup);

    //新增或编辑检查套餐时，查询所有的检查组
    List<CheckGroup> findAll();
}
